home *** CD-ROM | disk | FTP | other *** search
- CMRKCTRL.DLL
- ============
-
- Pour une description en Franτais, voir la deuxiΦme partie de ce document.
- ------------------------------------------------------------------------
-
- CMRKCTRL.DLL is a "BETA" version of the interface controller DLL for CATrain,
- designed for the MΣrklin Digital(c) system.
- Since this DLL has not yet been tested in all modes with a genuine MΣrklin
- 6051 control unit, this freeware is provided "as is", without any warranty
- of functioning.
- The only retribution requested to the "Beta testers" is a test report with
- the encountered problems and some suggestions.
-
- Some advises:
-
- - To use CMRKCTRL.DLL, verify that the command line "CTRLCOM=CMRKCTRL.DLL"
- is present into the [DLL] paragraph of the CATRAIN.INI file.
-
- - The Baud-Rate of the serial line must be set to 2400 BD for the communication
- with the 6051 MΣrklin Controller.
-
- - In case of problems encountered for controlling the "mechanical" devices
- or during the train circulation, it is possible to modified some parameter
- default values by adding the following lines inside the [PARAMETERS]
- paragraph of CATRAIN.INI:
-
-
- The following line defines the pulse duration for the command of an
- electromechanical device: (default 216 ms)
-
- CTRLPERIOD=216
-
- The following line defines the period for the polling of the feed-back
- information: (default 648 ms)
-
- POLLPERIOD=648
-
- The following line defines the maximum tolerated time for a loss of
- synchronization between the model and the feed-back information provided
- about train location: (default 10 seconds)
-
- SYNCTIMEOUT=10
-
- The following line defines the rail distance that a train must cross before
- that the previously occupied block (rail section) is liberated and the
- corresponding signal is set to Red. (default 3 rails).
-
- SECTFREEDIST=3
-
- The following lines define the rail distance before the lowering and after
- the raising of the level crossing barriers.
-
- LCROSSDETECT=7
- LCROSSLEAVE=2
-
- The following line defines the slope incidence on the electrical power
- applied to the loco engine: (default 2)
-
- SLOPEINCIDENCE=2
-
- The "Tracing" functionality of CATrain permits to visualize in a file the
- traffic exchanged between the computer and the 6051 control unit.
- This file is named "Ctrl.trc".
-
- Hereafter are described the command messages exchanged between the computer
- and the control unit.
- Those commands are borrowed to the MΣrklin protocol.
-
- Setting the speed of a loco:
- ---------------------------
- special function off (~ front light off):
-
- 2 bytes: speed, followed by an address
- with the following meaning:
- speed = value from 0 to 14.
- address = loco decoder address (<80).
-
- special function on (~ front light on):
-
- 2 bytes: 16 decimal + speed, followed by an address
- with the following meaning:
- speed = value from 0 to 14 (+16 => 16 to 30)
- address = loco decoder address (<80).
-
- Reversing the motion direction:
- ------------------------------
- 2 bytes: 15 decimal followed by the address byte of the loco
- when the special function is off (light off)
- or 31 decimal followed by the address byte of the loco
- when the special function is on (light on)
-
- activating a signal or a rail-switch:
- ------------------------------------
- turnout to straight or signal to green:
- 2 bytes: 33 decimal followed by the byte address of the device.
-
- turnout to straight or signal to green:
- 2 bytes: 34 decimal followed by the byte address of the device.
-
- resetting the last activation command of a signal or a switch:
- -------------------------------------------------------------
- (normally after more or less 250 ms):
- 1 byte 32 decimal
-
- Establishing the polling of the feed-back information:
- -----------------------------------------------------
- (train presence detection polling mode, with automatic reset
- of the information after reading):
- 1 byte 192 decimal
- N.B. presently, this message is sent at each
- polling cycle.
-
- Polling the feed-back information:
- ---------------------------------
- (train presence detection):
- 1 byte 159 decimal for every polling cycle
- (about every 600 ms).
-
- At each polling cycle, the controller must sent back to the PC the
- status of all train presence detectors.
- Each detector is represented by a single information bit.
- (b0 for detector 1, b1 for detector 2, and so on)
- When a train is detected, the corresponding detector bit is set to 1.
- The whole information is sent by 16 bit packets.
- This means that at least two bytes are sent back for 1 to 16 detectors,
- four bytes for 17 to 32 detectors and so on.
- The unused bits are set to 0.
-
- Two extra commands are provided:
-
- Power On:
- --------
-
- 1 byte: 96 decimal
-
- Power Off:
- ---------
- 1 byte: 97 decimal
-
- Under no circumstances will Joel Bouchat be liable for damages arising
- from the use of this software.
-
- ==============================================================================
-
-
- CMRKCTRL.DLL est une version "BETA" du contr⌠leur d'interface pour CATrain,
- conτu pour le systΦme MΣrklin Digital(c).
- Comme le DLL n'a pu encore pu Ωtre testΘ dans toutes les conditions
- d'utilisation en liaison avec une vΘritable unitΘ de contr⌠le MΣrklin 6051
- et ses accessoires, ce DLL est livrΘ en l'Θtat, sans garantie, α l'intention
- des "Beta testeurs" volontaires ...
- L'unique rΘtribution demandΘe est l'envoi d'un rapport de test sur les
- dysfonctionnements plus ou moins graves constatΘs et les solutions et
- amΘliorations proposΘes.
-
- Quelques conseils:
-
- - Pour utiliser CMRKCTRL.DLL, vΘrifiez que la ligne de commande
- "CTRLCOM=CMRKCTRL.DLL" est prΘsente dans le paragraphe [DLL] du fichier
- d'initialisation CATRAIN.INI.
-
- - Le Baud-Rate de la ligne sΘrie doit Ωtre fixΘ α 2400 BD pour l'interface
- MΣrklin 6051.
-
- - En cas de problΦmes de contr⌠le des ΘlΘments "mΘcaniques" ou de
- synchronisation des trains. Il est possible de modifier certains paramΦtres
- par dΘfaut en insΘrant quelques ligne de commandes dans le paragraphe
- [PARAMETERS] de CATRAIN.INI:
-
- La ligne suivante dΘfinit la longueur de l'impulsion de contr⌠le d'un
- ΘlΘment ΘlectromagnΘtique (par dΘfaut 216 ms):
-
- CTRLPERIOD=216
-
- La ligne suivante dΘfinit la pΘriode de "polling" des informations
- de rΘtrosignalisation (par dΘfaut 648 ms):
-
- POLLPERIOD=648
-
- La ligne suivante dΘfinit le temps maximum de dΘsynchronisation tolΘrΘ
- entre le modΦle informatique et les informations fournies par les unitΘs
- de rΘtrosignalisation sur la position rΘelle des trains:
- (par dΘfaut 10 secondes)
-
- SYNCTIMEOUT=10
-
- La ligne suivante dΘfinit la distance (en voies) parcourue par le
- modΦle d'un train avant la libΘration du tronτon prΘcΘdemment occupΘ et la
- mise au rouge du signal correspondant:
- (par dΘfaut 3 voies)
-
- SECTFREEDIST=3
-
- Les lignes suivantes dΘfinissent les distances (en voies) pour l'abaissement
- et le relevage des barriΦres d'un passage α niveau:
-
- LCROSSDETECT=7
- LCROSSLEAVE=2
-
- La ligne suivante dΘfinit l'incidence du degrΘ des pentes et des c⌠tes sur
- la commande Θlectrique des moteurs des locos: (par dΘfaut 2)
-
- SLOPEINCIDENCE=2
-
- La fonction de "Trace" de CATrain permet de visualiser dans un fichier
- appelΘ ""Ctrl.trc", le trafic ΘchangΘ entre l'ordinateur et l'unitΘ 6051.
-
- Voici les commandes transmises par CATtrain α l'unitΘ de commande, ces
- commandes sont dΘrivΘes du protocole MΣrklin:
-
- Commande de la vitesse d'une loco:
- ---------------------------------
- sans activation de la fonction spΘciale (phares Θteints):
-
- 2 bytes: vitesse, suivi d'un byte d'adresse
- avec la signification suivante:
- vitesse = consigne de vitesse (0 a 14)
- adresse = adresse de la loco (limitΘe a 80).
-
- avec activation de la fonction spΘciale (phares allumΘs):
-
- 2 bytes: 16 dΘcimal + vitesse, suivi d'un byte d'adresse
- avec la signification suivante:
- vitesse = consigne de vitesse (0 a 14) (+16 => 16 a 30)
- adresse = adresse de la loco (limitΘe a 80).
-
- Changement du sens de marche d'une loco:
- ---------------------------------------
- 2 bytes: 15 dΘcimal suivi de d'un byte d'adresse (limitΘ a 80)
- avec la fonction spΘciale dΘsactivΘe(phares Θteints)
- ou 31 dΘcimal suivi de d'un byte d'adresse (limitΘ a 80)
- avec la fonction spΘciale activΘe (phares allumΘs).
-
- activation d'un signal ou d'un aiguillage:
- -----------------------------------------
- aiguillage droit ou signal vert:
- 2 bytes: 33 dΘcimal suivi d'un byte d'adresse de l'ΘlΘment.
-
- aiguillage courbe ou signal rouge:
- 2 bytes: 34 dΘcimal suivi d'un byte d'adresse de l'ΘlΘment.
-
- arrΩt de la derniΦre commande d'activation d'aiguillage ou de signal:
- --------------------------------------------------------------------
- (normalement aprΦs environ 250 ms):
- 1 byte 32 dΘcimal
-
- Etablissement du polling des informations de rΘtro signalisation:
- ----------------------------------------------------------------
- (mode de polling des dΘtecteurs de prΘsence des trains,
- avec reset des infos lors de la lecture):
- 1 byte 192 dΘcimal
- N.B. cette info est envoyΘe actuellement α chaque
- cycle de polling.
-
- Polling des informations de rΘtro signalisation:
- -----------------------------------------------
- (dΘtection de prΘsence des trains):
- 1 byte 159 dΘcimal a chaque cycle de polling
- (environ toutes les 600 ms).
-
- A chaque cycle de polling, le contr⌠leur doit renvoyer au PC
- l'Θtat de tous les dΘtecteurs de prΘsence ou de passage des trains.
- Chaque dΘtecteur est reprΘsentΘ par 1 bit d'information
- (b0 pour le dΘtecteur 1, b1 pour le dΘtecteur 2, et ainsi de suite).
- Lorsque le bit est a 1, un train est dΘtectΘ.
- Cette information est envoyΘe en paquets de 16 bits (2 bytes).
- C'est α dire 2 bytes minimum pour 1 α 16 dΘtecteurs, 4 bytes pour
- 17 α 32 dΘtecteurs et ainsi de suite.
- Les bits non utilisΘs sont mis a 0.
-
- Deux messages supplΘmentaires sont Θgalement utilisΘs:
-
- Mise en route alimentation:
- --------------------------
- 1 byte: 96 dΘcimal
-
- ArrΩt gΘnΘral:
- -------------
- 1 byte: 97 dΘcimal
-
- En aucune circonstance Joδl Bouchat ne pourra Ωtre tenu pour responsable
- des dommages qui pourraient dΘcouler de l'utilisation de ce logiciel.
-
-
-
-